package br.sc.senai.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import br.sc.senai.conexaoBanco.ConexaoMySQL;
import br.sc.senai.model.Venda;

public class VendaDAO {
	public Integer inserir(Venda venda) {
		return null;
	}

	public ArrayList<Venda> consultar() {
		try {
			Statement st = ConexaoMySQL.getConexaoMySQL().createStatement();
			String query = "SELECT * FROM venda;";
			ResultSet rs = st.executeQuery(query);
			ArrayList<Venda> vendas = new ArrayList<Venda>();
			ItemVendaDAO itens = new ItemVendaDAO();
			FuncionarioDAO func = new FuncionarioDAO();
			ClienteDAO cli = new ClienteDAO();
			while (rs.next()) {
				Venda venda = new Venda(rs.getInt("idVenda"),
						itens.consultar(rs.getInt("idVenda")),
						cli.consultarPorID(rs.getInt("idCliente")),
						func.consultar(rs.getInt("idFuncionario")),
						rs.getDate("data"));
				vendas.add(venda);
			}
			return vendas;
		} catch (SQLException e) {
			System.out.println("SQL Exception - dao.ClienteDAO.consultar()");
			return null;
		}
	}

	public ArrayList<Venda> consultarPorIntervaloDeDatas(Date dataInicio,
			Date dataFim) {
		return null;
	}

	public ArrayList<Venda> consultarPorNomeCliente(String nomeCliente) {
		return null;
	}

	public ArrayList<Venda> consultarPorNomeFuncionario(String nomeFuncionario) {
		return null;
	}
}